    package com.example.mapper;

    import cn.hutool.json.JSONObject;
    import com.example.entity.*;
    import com.example.entity.others.User_Question;
    import com.example.entity.others.User_Subject;
    import org.apache.ibatis.annotations.Param;

    import java.util.List;

    public interface StudentMapper {

        List<Test_User> getTestUserListByUid(int uid);

        Test getTestById(Test_User testUser);

        void createTest(Test test);

        void createTestUser(Test_User testUser);

        void createQuestion(Question question);

        void createQuestionStudent(Question_Student questionStudent);

        List<Test> getTestBySubject(Test test);

        List<Question> getAllCByTid(@Param("tidList") List<Integer> tidList);

        List<Question> getAllFByTid(@Param("tidList") List<Integer> tidList);

        List<Question> getAllSByTid(@Param("tidList") List<Integer> tidList);

        void createTestByHuman(Test test);

        void updateTest(Test test);

        List<Question_Student> getQSAllCByTid(Test test);

        List<Question> getAllByTid(Test test);

        int getQSTotall(Test test);

        List<User_Question> getUqcByTestid(int tid,int sid);

        List<User_Question> getUqfByTestid(int tid, int sid);

        List<User_Question> getUqsByTestid(int tid, int sid);

        String getAnswerByQid(Question_Student questionStudent);

        void updateQSById(Question_Student questionStudent);

        List<Test> getTestBySId(Analysis_Student analysisStudent);

        int getFalseCount(int sid, int tid);

        int getTrueCount(int sid, int tid);

        int getAnameSubject(Analysis_Student analysisStudent);

        void createAnalysis(Analysis_Student analysisStudent);

        List<Analysis_Student> getAnalysisList(Analysis_Student analysisStudent);

        Analysis_Student getAnalysisContent(int sid);

        List<JSONObject> getClassBysid(Class_Student classStudent);

        Class_Student getClassOneBysid(Class_Student classStudent);

        void createClass(Class_Student classStudent1);

        void updateClass(Class_Student classStudent);

        void deleteTestUser(Test_User testUser);

        void deleteQuestion(Question_Student questionStudent);

        List<Integer> getQuestionId(int tid);

        void resetQuestion(int uid, Integer qid);

        List<Analysis_Student> getAnalysisListAll(Analysis_Student analysisStudent);

        void deleteAnalysis(Analysis_Student analysisStudent);

        List<JSONObject> getParentList(Parent_Student parentStudent);

        void bindParent(Parent_Student parentStudent);

        void cancelParent(Parent_Student parentStudent);

        Parent_Student getparentStudent(Parent_Student parentStudent);

        void updateParentStudent(Parent_Student data);
    }
